package com.sky.skyopsserver.vos;

import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 更新通知请求VO
 * 
 * @author Administrator
 * @since 2025-01-17
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class NotificationUpdateReqVO {
    
    /**
     * 主键唯一ID
     */
    @NotNull(message = "通知ID不能为空")
    @Positive(message = "通知ID必须为正数")
    private Long id;
    
    /**
     * 名称
     */
    @NotBlank(message = "通知名称不能为空")
    @Size(max = 255, message = "通知名称长度不能超过255个字符")
    private String name;
    
    /**
     * 通知方式
     */
    @NotBlank(message = "通知方式不能为空")
    @Size(max = 50, message = "通知方式长度不能超过50个字符")
    private String type;
    
    /**
     * 邮箱收件人
     */
    @Email(message = "邮箱格式不正确")
    @Size(max = 255, message = "邮箱长度不能超过255个字符")
    private String targetEmail;
    
    /**
     * 备注
     */
    @Size(max = 500, message = "备注长度不能超过500个字符")
    private String remark;
    
    /**
     * 钉钉_webhook
     */
    @Size(max = 500, message = "钉钉Webhook地址长度不能超过500个字符")
    private String webhookDing;
    
    /**
     * 微信_webhook
     */
    @Size(max = 500, message = "微信Webhook地址长度不能超过500个字符")
    private String webhookWx;
}